package com.mililoan.persist.system;

import java.util.ArrayList;

import com.mililoan.common.bean.PageResultSet;
import com.mililoan.model.system.User;
/**
 * 用户表操作类接口
 * @author mwei
 *
 */
public interface UserDao {
	/**
	 * 查询用户
	 * @param user,page,pageSize
	 * @return 用户ID
	 * @author mwei
	 */
	public PageResultSet<User> query(User user,int page,int pageSize);
	/**
	 * 查询所有用户
	 * @param user,page,pageSize
	 * @return 用户ID
	 * @author mwei
	 */
	public ArrayList<User> queryAll(User user);
	/**
	 * 添加用户
	 * @param user
	 * @return 用户ID
	 * @author mwei
	 */
	public Long addUser(final User user);
	/**
	 * 修改用户
	 * @param user
	 * @return 用户ID
	 * @author mwei
	 */
	public Long updateUser(final User user);
	/**
	 * 修改密码
	 * @param userId,password
	 * @return 用户ID
	 * @author mwei
	 */
	public Long updatePassword(Long userId,String password);
	/**
	 * 删除用户
	 * @param userId
	 * @return 用户ID
	 * @author mwei
	 */
	public Long delUser(Long userId);
	/**
	 * 根据用户名和密码获得用户信息
	 * @param accounts
	 * @param password
	 * @return user 如果没有记录返回NULL
	 * @author mwei
	 */
	public User getUser(String accounts, String password);

	/**
	 * 根据用户名ID得用户信息
	 * @param id
	 * @return user 如果没有记录返回NULL
	 * @author mwei
	 */
	public User getUser(Long id) ;
	/**
	 * 根据用户名帐号得用户信息
	 * @param id
	 * @return user 如果没有记录返回NULL
	 * @author mwei
	 */
	public User getUser(String accounts) ;
	
	public ArrayList<User> queryAllExc(User user); 

}
